home *** CD-ROM | disk | FTP | other *** search
/ EOS Science Plan & Executive Summary / EOS Science Plan and Executive Summary.iso / pc / Acrobat Reader Installers / linux_tar_files / COMMON.TAR / bin / acroread.sh
Encoding:
Linux/UNIX/POSIX Shell Script  |  2002-07-01  |  6.9 KB  |  315 lines

  1. #!/bin/sh
  2. #
  3.  
  4. ver=5.0.6
  5. install_dir=REPLACE_ME
  6.  
  7. #
  8. # Prepend a colon separated environment variable
  9. # $1 string to be prepended
  10. # $2 environment variable
  11. #
  12. prepend()
  13. {
  14.   if [ -z "$2" -o "$2" = "$1" ] ; then
  15.     echo "$1"
  16.   else
  17.     first="`expr "$2" : '\([^:]*\):'`"
  18.     if [ "$first" = "$1" ] ; then
  19.       echo "$2"
  20.     else
  21.       echo "${1}:${2}"
  22.     fi
  23.   fi
  24. }
  25.  
  26.  
  27. #
  28. # Tests the version file in an installation directory.
  29. #
  30. test_install_dir()
  31. {
  32.   if [ "$1" -a -f "$1/AcroVersion" ] \
  33.   && [ "`cat $1/AcroVersion 2>/dev/null`" = "$ver" ] ; then
  34.     return 0
  35.   else
  36.     return 1
  37.   fi
  38. }
  39.  
  40.  
  41. #
  42. # Get the current working directory.
  43. # Try to avoid automounter directories by checking
  44. # if $HOME or $PWD is the same directory as pwd,
  45. # and removing the automount directory component.
  46. #
  47. cwd="`pwd 2> /dev/null`"
  48. if [ -z "$cwd" -o ! -d "$cwd" ] ; then
  49.   echo "ERROR: Cannot determine current directory."
  50.   exit 1
  51. fi
  52.  
  53. if [ "$HOME" -a -d "$HOME" ] && [ "`cd / ; cd "$HOME" ; pwd`" = "$cwd" ] ; then
  54.   cwd="$HOME"
  55. elif [ "$PWD" -a -d "$PWD" ] && [ "`cd / ; cd "$PWD" ; pwd`" = "$cwd" ] ; then
  56.   cwd="$PWD"
  57. fi
  58.  
  59. if [ "$cwd" != / -a "${AUTOMOUNT_DIR=/tmp_mnt}" ] ; then
  60.   tmp="`expr "$cwd" : "$AUTOMOUNT_DIR"'\(.*\)'`"
  61.   if [ "$tmp" -a -d "$tmp" ] ; then
  62.     if [ "`cd / ; cd "$tmp" ; pwd`" = "`pwd`" ] ; then
  63.       cwd="$tmp"
  64.     fi
  65.   fi
  66. fi
  67.  
  68. PWD="$cwd"
  69. export PWD
  70.  
  71.  
  72. #
  73. # Setup ACRO_ARG0 to this script
  74. #
  75. arg0="$0"
  76. if [ "$arg0" ] ; then
  77.   case "$arg0" in
  78.      /*) ;;
  79.     ./*) arg0="$cwd/`expr "$arg0" : '\./\(.*\)'`" ;;
  80.       *) arg0="$cwd/$arg0" ;;
  81.   esac
  82.  
  83.   ACRO_ARG0="$arg0"
  84.   export ACRO_ARG0
  85. fi
  86.  
  87.  
  88. #
  89. # Try to find the installation directory
  90. #
  91. if ( test_install_dir "$install_dir" ) ; then
  92.   ACRO_INSTALL_DIR="$install_dir"
  93.   export ACRO_INSTALL_DIR
  94. else
  95.   script="$arg0"
  96.   while [ "$script" ] ; do
  97.     install_dir="`dirname "$script"`"
  98.     if ( test_install_dir "$install_dir" ) ; then
  99.       ACRO_INSTALL_DIR="$install_dir"
  100.       export ACRO_INSTALL_DIR
  101.       break
  102.     fi
  103.  
  104.     install_dir="`dirname "$install_dir"`"
  105.     if ( test_install_dir "$install_dir" ) ; then
  106.       ACRO_INSTALL_DIR="$install_dir"
  107.       export ACRO_INSTALL_DIR
  108.       break
  109.     fi
  110.  
  111.     if [ -h "$script" ] ; then
  112.       new_script=`ls -l "$script" | sed 's/^.*-> *\(.*\) *$/\1/'`
  113.       if [ "$new_script" -a "`expr "$new_script" : '/.*'`" = 0 ] ; then
  114.         new_script="`dirname "$script"`/$new_script"
  115.       fi
  116.       script="$new_script"
  117.     else
  118.       break
  119.     fi
  120.   done
  121.  
  122.   if ( test_install_dir "$ACRO_INSTALL_DIR" ) ; then
  123.     :
  124.   elif ( test_install_dir "$ACRO_HOME" ) ; then
  125.     ACRO_INSTALL_DIR="$ACRO_HOME"
  126.     export ACRO_INSTALL_DIR
  127.   else
  128.     echo "ERROR: Cannot find installation directory."
  129.     exit 1
  130.   fi
  131. fi
  132.  
  133.  
  134. #
  135. # setup the configuration from uname
  136. #
  137. os_name=`uname -s`
  138. if [ "$os_name" = "AIX" ] ; then
  139.   os_release=`uname -a | ( read name host minor major foo ; echo $major.$minor )`
  140. else
  141.   os_release=`uname -r`
  142. fi
  143.  
  144. case "$os_name" in
  145.   SunOS)
  146.     case "$os_release" in
  147.       4.1.3*|4.1.4*|4.1C)
  148.         ACRO_CONFIG=sparcsun
  149.         export ACRO_CONFIG
  150.         ;;
  151.       5.*)
  152.         machine_type=`uname -p`
  153.         case "$machine_type" in
  154.           sparc)
  155.             ACRO_CONFIG=sparcsolaris
  156.             export ACRO_CONFIG
  157.             ;;
  158.           intel|i386)
  159.             ACRO_CONFIG=intelsolaris
  160.             export ACRO_CONFIG
  161.             ;;
  162.           ppc)
  163.             ACRO_CONFIG=ppcsolaris
  164.             export ACRO_CONFIG
  165.             ;;
  166.         esac
  167.         ;;
  168.     esac
  169.     ;;
  170.   HP-UX)
  171.     case "$os_release" in
  172.       *09.0*|*10.*|*11.*)
  173.         ACRO_CONFIG=hppahpux
  174.         export ACRO_CONFIG
  175.         ;;
  176.       *)
  177.         ;;
  178.     esac
  179.     ;;
  180.   AIX)
  181.     case "$os_release" in
  182.       4.*|5.*)
  183.         ACRO_CONFIG=rs6000aix
  184.         export ACRO_CONFIG
  185.         ;;
  186.       *)
  187.         ;;
  188.     esac
  189.     ;;
  190.    Linux)
  191.     ACRO_CONFIG=intellinux
  192.     export ACRO_CONFIG
  193.     ;;
  194. esac
  195.  
  196. if [ -z "$ACRO_CONFIG" ] ; then
  197.   echo "The OS named $os_name version $os_release is currently not installed."
  198.   echo "Try running on an installed platform and connecting to your display."
  199.   echo "Installed platform(s) include the following:"
  200.   if [ -d "$ACRO_INSTALL_DIR"/sparcsolaris ] ; then
  201.     echo "  SPARC/Solaris version 2.x"
  202.   fi
  203.   if [ -d "$ACRO_INSTALL_DIR"/hppahpux ] ; then
  204.     echo "  HP/HP-UX version 9.0.x and 10.x"
  205.   fi
  206.   if [ -d "$ACRO_INSTALL_DIR"/rs6000aix ] ; then
  207.     echo "  RS6000/AIX version 4.1.1, 4.2, 4.3, and 5.1"
  208.   fi
  209.   if [ -d "$ACRO_INSTALL_DIR"/intellinux ] ; then
  210.     echo "  Intel/Linux"
  211.   fi
  212.   exit 1
  213. fi
  214.  
  215. #
  216. # Setup XKEYSYMDB
  217. #
  218. if [ -z "$XKEYSYMDB" -o ! -f "$XKEYSYMDB" ] ; then
  219.   if [ -f "$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib/XKeysymDB" ] ; then
  220.     XKEYSYMDB="$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib/XKeysymDB"
  221.     export XKEYSYMDB
  222.   elif [ -f "$ACRO_INSTALL_DIR/XKeysymDB" ] ; then
  223.     XKEYSYMDB="$ACRO_INSTALL_DIR/XKeysymDB"
  224.     export XKEYSYMDB
  225.   fi
  226. fi
  227.  
  228.  
  229. #
  230. # Prepend XFILESEARCHPATH
  231. #
  232. XFILESEARCHPATH="`prepend "$ACRO_INSTALL_DIR/$ACRO_CONFIG/%T/%L/%N%S:$ACRO_INSTALL_DIR/$ACRO_CONFIG/%T/%l/%N%S:$ACRO_INSTALL_DIR/$ACRO_CONFIG/%T/%N%S" "$XFILESEARCHPATH"`"
  233. export XFILESEARCHPATH
  234.  
  235. #
  236. # Setup configuration specific environment variables
  237. #
  238. case "$ACRO_CONFIG" in
  239.   sparcsolaris)
  240.     LD_LIBRARY_PATH="`prepend "$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib:$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib" "$LD_LIBRARY_PATH"`"
  241.     export LD_LIBRARY_PATH
  242.     if [ -z "$LC_CTYPE" ] ; then
  243.       LC_CTYPE="iso_8859_1"
  244.       export LC_CTYPE
  245.     fi
  246.     ;;
  247.   hppahpux)
  248.     SHLIB_PATH="`prepend "$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib:$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib" "$SHLIB_PATH"`"
  249.     SHLIB_PATH="`prepend "/usr/lib/Motif1.2" "$SHLIB_PATH"`"
  250.     SHLIB_PATH="`prepend "/usr/lib/X11R5" "$SHLIB_PATH"`"
  251.     export SHLIB_PATH
  252.     ;;
  253.   rs6000aix)
  254.     LIBPATH="`prepend "$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib:$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib" "$LIBPATH"`"
  255.     export LIBPATH
  256.     XNLSPATH=/usr/lib/X11/nls
  257.     export XNLSPATH
  258.     ;;
  259.   intellinux)
  260.     LD_LIBRARY_PATH="`prepend "$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib:$ACRO_INSTALL_DIR/$ACRO_CONFIG/lib" "$LD_LIBRARY_PATH"`"
  261.     export LD_LIBRARY_PATH
  262.     ;;
  263. esac
  264.  
  265. DefaultPSRESPATH="$HOME/psres:$HOME/fonts:/usr/psres:$ACRO_INSTALL_DIR/$ACRO_CONFIG/fonts"
  266. if [ -z "$PSRESOURCEPATH" ] ; then
  267.   PSRESOURCEPATH="$DefaultPSRESPATH"
  268. else
  269.   PSRESOURCEPATH="$PSRESOURCEPATH":"$DefaultPSRESPATH"
  270. fi
  271. case "$PSRESOURCEPATH" in
  272.   ::*|*::*|*::)
  273.     ;;
  274.   *)
  275.     PSRESOURCEPATH="$PSRESOURCEPATH"::
  276.     ;;
  277. esac
  278. export PSRESOURCEPATH
  279.  
  280. directory="`basename \"$ACRO_INSTALL_DIR\"`"
  281. case "$directory" in
  282.   Reader)
  283.     cmd="acroread"
  284.     prod="Acrobat Reader"
  285.     ;;
  286.   *)
  287.     cmd="acrobat"
  288.     prod="Acrobat 5.0"
  289.     ;;
  290. esac
  291.  
  292. #
  293. # Set the command.  Process any debug flags and exec.
  294. #
  295. ACRO_EXEC_CMD="$ACRO_INSTALL_DIR/$ACRO_CONFIG/bin/$cmd"
  296.  
  297. if [ "$1" = "-DEBUG" ] ; then
  298.   if [ $# = 1 ] ; then
  299.     export ACRO_EXEC_CMD
  300.     exec "$SHELL"
  301.   else
  302.     shift
  303.     exec ${1+"$@"} "$ACRO_EXEC_CMD"
  304.   fi
  305. fi
  306.  
  307. if [ -f "$ACRO_EXEC_CMD" ] ; then
  308.   exec "$ACRO_EXEC_CMD" ${1+"$@"}
  309. else
  310.   echo "ERROR: Cannot find $ACRO_EXEC_CMD"
  311.   echo "  $prod not installed for this configuration, \"$ACRO_CONFIG\"."
  312.   exit 1
  313. fi
  314.  
  315.